package com.ruoyi.service.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 订单信息表对象 service_orders
 * 
 * @author ZDL
 * @date 2024-11-13
 */
public class ServiceOrders extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单主键ID */
    private Long orderId;

    /** 订单号 */
    @Excel(name = "订单号")
    private String orderCode;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long orderUserid;

    /** 被服务人信息ID */
    @Excel(name = "被服务人信息ID")
    private Long orderServedid;

    /** 服务地址ID */
    @Excel(name = "服务地址ID")
    private Long orderAddressid;

    /** 分配护士ID */
    @Excel(name = "分配护士ID")
    private Long orderNurseid;

    /** 支付信息表ID */
    @Excel(name = "支付信息表ID")
    private Long orderPay;

    /** 订单时间信息表ID */
    @Excel(name = "订单时间信息表ID")
    private Long orderTime;

    /** 订单生效状态：0生效 1已取消 2退款中 3已退款 4关闭 */
    @Excel(name = "订单生效状态：0生效 1已取消 2退款中 3已退款 4关闭")
    private Integer orderFlag;

    /** 订单是否异常：0正常 异常：1超时预警(派单)：待服务 2超时预警(接单)：待服务 3超时未开始：待服务 4超时未结束服务：服务中 5超时未提交结算：服务中 6超时未结算尾款：结算中 */
    @Excel(name = "订单是否异常：0正常 异常：1超时预警(派单)：待服务 2超时预警(接单)：待服务 3超时未开始：待服务 4超时未结束服务：服务中 5超时未提交结算：服务中 6超时未结算尾款：结算中")
    private Integer orderStatus;

    /** 订单服务状态:1-creat-创建,2-cancel-取消,3-audit_cancel-审核取消,4-canceled-已取消,5-report-上报,6-header_assign-护理部已分配,7-assign-已分配,8-receive-已接受,9-departure-已出发,10-arrival-已到达,11-pat_audit-服务完成,12-finish-订单完成,13-comment-已评价 */
    @Excel(name = "订单服务状态:1-creat-创建,2-cancel-取消,3-支付,4-退款,5-report-上报,6-header_assign-护理部已分配,7-assign-已分配,8-receive-已接受,9-departure-已出发,10-arrival-已到达,11-pat_audit-服务完成,12费用核定,13用户确认,14用户最终支付,15-finish-订单完成,16-comment-已评价,17护士评价")
    private Integer orderServiceflag;

    /** 订单创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "订单创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderCreatetime;

    /** 预定上门时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预定上门时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderScheduledtime;

    /** 实际上门时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际上门时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderActuallydoortime;

    /** 订单完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "订单完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderEndtime;

    /** 订单评价表ID */
    @Excel(name = "订单评价表ID")
    private Long orderAssessmentid;

    /** 订单预约备注 */
    @Excel(name = "订单预约备注")
    private String orderServiceremark;

    /** 订单结算护士备注 */
    @Excel(name = "订单结算护士备注")
    private String orderNurseremark;

    /** 订单关闭原因表ID */
    @Excel(name = "订单关闭原因表ID")
    private String orderReasonstopid;

    /** 订单关闭补充说明 */
    @Excel(name = "订单关闭补充说明")
    private String orderReasonremark;

    /** 创建者 */
    @Excel(name = "创建者")
    private String orderCreateBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderCreateTime;

    /** 更新者 */
    @Excel(name = "更新者")
    private String orderUpdateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderUpdateTime;

    /** 启用标志（0代表启用 2代表不启用） */
    @Excel(name = "启用标志", readConverterExp = "0=代表启用,2=代表不启用")
    private String orderUseFlag;

    /** 删除标志（0代表存在 2代表删除） */
    @Excel(name = "删除标志", readConverterExp = "0=代表存在,2=代表删除")
    private String orderDelFlag;

    /** 备注 */
    @Excel(name = "备注")
    private String orderRemark;

    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }
    public void setOrderCode(String orderCode) 
    {
        this.orderCode = orderCode;
    }

    public String getOrderCode() 
    {
        return orderCode;
    }
    public void setOrderUserid(Long orderUserid) 
    {
        this.orderUserid = orderUserid;
    }

    public Long getOrderUserid() 
    {
        return orderUserid;
    }
    public void setOrderServedid(Long orderServedid) 
    {
        this.orderServedid = orderServedid;
    }

    public Long getOrderServedid() 
    {
        return orderServedid;
    }
    public void setOrderAddressid(Long orderAddressid) 
    {
        this.orderAddressid = orderAddressid;
    }

    public Long getOrderAddressid() 
    {
        return orderAddressid;
    }
    public void setOrderNurseid(Long orderNurseid) 
    {
        this.orderNurseid = orderNurseid;
    }

    public Long getOrderNurseid() 
    {
        return orderNurseid;
    }
    public void setOrderPay(Long orderPay) 
    {
        this.orderPay = orderPay;
    }

    public Long getOrderPay() 
    {
        return orderPay;
    }
    public void setOrderTime(Long orderTime) 
    {
        this.orderTime = orderTime;
    }

    public Long getOrderTime() 
    {
        return orderTime;
    }
    public void setOrderFlag(Integer orderFlag) 
    {
        this.orderFlag = orderFlag;
    }

    public Integer getOrderFlag() 
    {
        return orderFlag;
    }
    public void setOrderStatus(Integer orderStatus) 
    {
        this.orderStatus = orderStatus;
    }

    public Integer getOrderStatus() 
    {
        return orderStatus;
    }
    public void setOrderServiceflag(Integer orderServiceflag) 
    {
        this.orderServiceflag = orderServiceflag;
    }

    public Integer getOrderServiceflag() 
    {
        return orderServiceflag;
    }
    public void setOrderCreatetime(Date orderCreatetime) 
    {
        this.orderCreatetime = orderCreatetime;
    }

    public Date getOrderCreatetime() 
    {
        return orderCreatetime;
    }
    public void setOrderScheduledtime(Date orderScheduledtime) 
    {
        this.orderScheduledtime = orderScheduledtime;
    }

    public Date getOrderScheduledtime() 
    {
        return orderScheduledtime;
    }
    public void setOrderActuallydoortime(Date orderActuallydoortime) 
    {
        this.orderActuallydoortime = orderActuallydoortime;
    }

    public Date getOrderActuallydoortime() 
    {
        return orderActuallydoortime;
    }
    public void setOrderEndtime(Date orderEndtime) 
    {
        this.orderEndtime = orderEndtime;
    }

    public Date getOrderEndtime() 
    {
        return orderEndtime;
    }
    public void setOrderAssessmentid(Long orderAssessmentid) 
    {
        this.orderAssessmentid = orderAssessmentid;
    }

    public Long getOrderAssessmentid() 
    {
        return orderAssessmentid;
    }
    public void setOrderServiceremark(String orderServiceremark) 
    {
        this.orderServiceremark = orderServiceremark;
    }

    public String getOrderServiceremark() 
    {
        return orderServiceremark;
    }
    public void setOrderNurseremark(String orderNurseremark) 
    {
        this.orderNurseremark = orderNurseremark;
    }

    public String getOrderNurseremark() 
    {
        return orderNurseremark;
    }
    public void setOrderReasonstopid(String orderReasonstopid) 
    {
        this.orderReasonstopid = orderReasonstopid;
    }

    public String getOrderReasonstopid() 
    {
        return orderReasonstopid;
    }
    public void setOrderReasonremark(String orderReasonremark) 
    {
        this.orderReasonremark = orderReasonremark;
    }

    public String getOrderReasonremark() 
    {
        return orderReasonremark;
    }
    public void setOrderCreateBy(String orderCreateBy) 
    {
        this.orderCreateBy = orderCreateBy;
    }

    public String getOrderCreateBy() 
    {
        return orderCreateBy;
    }
    public void setOrderCreateTime(Date orderCreateTime) 
    {
        this.orderCreateTime = orderCreateTime;
    }

    public Date getOrderCreateTime() 
    {
        return orderCreateTime;
    }
    public void setOrderUpdateBy(String orderUpdateBy) 
    {
        this.orderUpdateBy = orderUpdateBy;
    }

    public String getOrderUpdateBy() 
    {
        return orderUpdateBy;
    }
    public void setOrderUpdateTime(Date orderUpdateTime) 
    {
        this.orderUpdateTime = orderUpdateTime;
    }

    public Date getOrderUpdateTime() 
    {
        return orderUpdateTime;
    }
    public void setOrderUseFlag(String orderUseFlag) 
    {
        this.orderUseFlag = orderUseFlag;
    }

    public String getOrderUseFlag() 
    {
        return orderUseFlag;
    }
    public void setOrderDelFlag(String orderDelFlag) 
    {
        this.orderDelFlag = orderDelFlag;
    }

    public String getOrderDelFlag() 
    {
        return orderDelFlag;
    }
    public void setOrderRemark(String orderRemark) 
    {
        this.orderRemark = orderRemark;
    }

    public String getOrderRemark() 
    {
        return orderRemark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("orderCode", getOrderCode())
            .append("orderUserid", getOrderUserid())
            .append("orderServedid", getOrderServedid())
            .append("orderAddressid", getOrderAddressid())
            .append("orderNurseid", getOrderNurseid())
            .append("orderPay", getOrderPay())
            .append("orderTime", getOrderTime())
            .append("orderFlag", getOrderFlag())
            .append("orderStatus", getOrderStatus())
            .append("orderServiceflag", getOrderServiceflag())
            .append("orderCreatetime", getOrderCreatetime())
            .append("orderScheduledtime", getOrderScheduledtime())
            .append("orderActuallydoortime", getOrderActuallydoortime())
            .append("orderEndtime", getOrderEndtime())
            .append("orderAssessmentid", getOrderAssessmentid())
            .append("orderServiceremark", getOrderServiceremark())
            .append("orderNurseremark", getOrderNurseremark())
            .append("orderReasonstopid", getOrderReasonstopid())
            .append("orderReasonremark", getOrderReasonremark())
            .append("orderCreateBy", getOrderCreateBy())
            .append("orderCreateTime", getOrderCreateTime())
            .append("orderUpdateBy", getOrderUpdateBy())
            .append("orderUpdateTime", getOrderUpdateTime())
            .append("orderUseFlag", getOrderUseFlag())
            .append("orderDelFlag", getOrderDelFlag())
            .append("orderRemark", getOrderRemark())
            .toString();
    }
}
